package com.example.student_manager_backend.entity;

import com.example.student_manager_backend.repository.StudentRepository;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Date;

/**
 * 班级实体类
 * 用于存储班级的基本信息，包括班级编号、名称、年级等
 */
@Entity
@Table(name = "class")
public class Class {
    /**
     * 班级编号，作为主键
     * 长度限制为20个字符
     */
    @Setter
    @Getter
    @Id
    @Column(length = 20)
    private String classId;


    /**
     * 班级名称
     * 不允许为空，最大长度50个字符
     */
    @Setter
    @Getter
    @Column(nullable = false, length = 50)
    private String name;

    /**
     * 年级
     * 如：2021、2022等
     * 长度限制为4个字符
     */
    @Setter
    @Getter
    @Column(length = 4)
    private String grade;

    /**
     * 专业
     * 长度限制为50个字符
     */
    @Getter
    @Setter
    @Column(length = 50)
    private String major;

    /**
     * 班主任
     * 长度限制为50个字符
     */
    @Getter
    @Setter
    @Column(length = 50)
    private String teacher;

    /**
     * 班级容量
     * 整数类型
     */
    @Getter
    private Integer capacity;

    /**
     * 创建时间
     * 使用时间戳类型
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date createTime;

    /**
     * 更新时间
     * 使用时间戳类型
     */
    @Temporal(TemporalType.TIMESTAMP)
    private Date updateTime;


}